Skip to content

fix(mobile): centre quick-tour eyebrow and keep answer placeholder legible - #6535

Merged
iscekic merged 1 commit into
mainfrom
kwf/explorer-10-unlabeled-defects-on-ios-an-icon-is-announced-3e564-f491
Sep 23, 2026
Merged

iscekic merged 1 commit into
mainfrom
kwf/explorer-10-unlabeled-defects-on-ios-an-icon-is-announced-3e564-f491

Conversation

@iscekic

@iscekic iscekic commented Sep 22, 2026 •

Copy link
Copy Markdown
Collaborator

Changelog for users

  • The quick tour's all-caps eyebrow now sits centred with the tour's icon, title, cards and Skip action.
  • The custom answer field's placeholder stays readable when the field takes its active fill.

Changelog for maintainers

  • apps/mobile/src/components/tour/tour-screen.tsx — Finding 3 accepted: the modal tour header now passes centerTitle, so the eyebrow centres with the centred fork body; tour-screen.mounted.test.tsx asserts centerTitle: true.
  • apps/mobile/src/components/agents/question-card.tsx — Finding 10 accepted: the custom answer field's placeholderTextColor follows the fill (primaryForeground when the field is active, mutedForeground otherwise); question-card.mounted.test.tsx pins both colours.
  • apps/mobile/src/components/agents/model-picker-content.mounted.test.tsx — Finding 5 rejected: the row for the bridge's currentValue already carries selected and renders the trailing Check; the new test asserts exactly the bridged id is selected.
  • apps/mobile/src/components/consent/consent-card.mounted.test.tsx — Finding 2 rejected: the privacy sentence is the last child of the ScrollView and the pinned actions are a following sibling, not an overlay; the new test asserts the line is inside the scroller and the accept button is outside it.
  • Finding 8 (repo-selected) rejected: the branch selector already renders a loading placeholder with an accessibility label, plus empty, retryable and permanent states; existing repository-branch-selector coverage, unchanged here.
  • Findings 1, 4, 6, 7 and 9 were already fixed at the base revision and are unchanged: the dev-client tool button is off, the mode reads "Orchestrator", inline-code markers are stripped, RTL text drops Latin letter tracking, and the web dev overlay is off.
  • Review the two production edits first — the tour header flag and the answer-field placeholder colour; the other four files are tests. The placeholder colour keys off the same isCustomActive flag that drives the fill, so the two cannot drift.

E2E proof

The iOS scenario did not complete. Scenario e1 (the multilingual Preferences screen) was skipped because the simulator never reached a signed-in state; without it the Preferences screen was unreachable, so no accessibility digest, hierarchy or behaviour log was captured. No product code was changed.

Owner request

kwf-fix: proof-8616e7e-2

kwf-fix-pr: #6535

Prove the behaviour of PR #6535 with a live end-to-end run, and make no code change.
The pull request description carries no evidence: the '## E2E proof' section carries no log excerpt, so nothing shows the change was driven end to end.

Run the pull request's own scenarios on a device or a simulator, for every platform its diff touches. Capture the decisive log lines always, and a screenshot as well for a user-visible change. Never a recording: they are gone (owner, 2026-09-16).
Write the evidence under a '## E2E proof' heading in your own pull request description. Never run gh: the driver publishes.
If a scenario fails, name it and say why, and still change no product code: this section proves what the branch already carries.

The pull request description as it stands now

This is the live body; you never need to fetch it, and you must not edit it. The driver merges what your final summary says into it.

## Changelog for users

- The quick tour's all-caps eyebrow now sits centred with the tour's icon, title, cards and Skip action.
- The custom answer field's placeholder stays readable when the field takes its active fill.

## Changelog for maintainers

- `apps/mobile/src/components/tour/tour-screen.tsx` — Finding 3 accepted: the modal tour header now passes `centerTitle`, so the eyebrow centres with the centred fork body; `tour-screen.mounted.test.tsx` asserts `centerTitle: true`.
- `apps/mobile/src/components/agents/question-card.tsx` — Finding 10 accepted: the custom answer field's `placeholderTextColor` follows the fill (`primaryForeground` when the field is active, `mutedForeground` otherwise); `question-card.mounted.test.tsx` pins both colours.
- `apps/mobile/src/components/agents/model-picker-content.mounted.test.tsx` — Finding 5 rejected: the row for the bridge's `currentValue` already carries `selected` and renders the trailing Check; the new test asserts exactly the bridged id is selected.
- `apps/mobile/src/components/consent/consent-card.mounted.test.tsx` — Finding 2 rejected: the privacy sentence is the last child of the `ScrollView` and the pinned actions are a following sibling, not an overlay; the new test asserts the line is inside the scroller and the accept button is outside it.
- Finding 8 (repo-selected) rejected: the branch selector already renders a loading placeholder with an accessibility label, plus empty, retryable and permanent states; existing repository-branch-selector coverage, unchanged here.
- Findings 1, 4, 6, 7 and 9 were already fixed at the base revision and are unchanged: the dev-client tool button is off, the mode reads "Orchestrator", inline-code markers are stripped, RTL text drops Latin letter tracking, and the web dev overlay is off.
- Review the two production edits first — the tour header flag and the answer-field placeholder colour; the other four files are tests. The placeholder colour keys off the same `isCustomActive` flag that drives the fill, so the two cannot drift.

## E2E proof

![e5-model-picker.png](https://github.com/user-attachments/assets/c2619e2a-340d-434c-a57d-1c359bc8a85f)

![e7 — explorer-10-unlabeled-defects-on-ios-an-icon-is-announced-3e564/e7-preferences-ar.png](https://github.com/user-attachments/assets/f8b2fd42-27cb-4cc9-a20e-a4ab123d05a2)


## Open findings (not fixed here)
- th placeholder 'Type your own answer\u2026' and 37 key nodes after the tap prove focus; the dark olive fill and placeholder legibility are the visual reviewer's judgement (e10-answer-focused.png)."}],"_vendor":"kilo"}

--- shard 2 ---
VERDICT {"verdict":"passed","scenarios":[{"name":"e2 …[truncated]
- iOS verification failed (rc=1). --- shard 1 ---
VERDICT {"verdict":"passed","scenarios":[{"name":"e1","result":"pass","evidence":"evidence/e1-voiceover.log","note":"ios Home a11y tree (130 elements, 14 human labels) has no raw SF Symbol name and no developer-tool button; the floating-button look is

<details>
<summary>Owner request</summary>

</details>
## Open findings (not fixed here) - th placeholder 'Type your own answer\u2026' and 37 key nodes after the tap prove focus; the dark olive fill and placeholder legibility are the visual reviewer's judgement (e10-answer-focused.png)."}],"_vendor":"kilo"}

--- shard 2 ---
VERDICT {"verdict":"passed","scenarios":[{"name":"e2 …[truncated]

  • iOS verification failed (rc=1). --- shard 1 ---
    VERDICT {"verdict":"passed","scenarios":[{"name":"e1","result":"pass","evidence":"evidence/e1-voiceover.log","note":"ios Home a11y tree (130 elements, 14 human labels) has no raw SF Symbol name and no developer-tool button; the floating-button look is

@iscekic
iscekic marked this pull request as draft September 22, 2026 11:22
@kilo-code-bot

kilo-code-bot Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Executive Summary

Re-verified the two production edits (quick-tour eyebrow centring, active answer-field placeholder colour) and their four test companions against current HEAD; both edits key off the same state that drives the fill, and the new tests assert reachable behaviour.

Files Reviewed (6 files)
  • apps/mobile/src/components/agents/model-picker-content.mounted.test.tsx
  • apps/mobile/src/components/agents/question-card.mounted.test.tsx
  • apps/mobile/src/components/agents/question-card.tsx
  • apps/mobile/src/components/consent/consent-card.mounted.test.tsx
  • apps/mobile/src/components/tour/tour-screen.mounted.test.tsx
  • apps/mobile/src/components/tour/tour-screen.tsx
Previous Review Summary (commit 4bdfe16)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 4bdfe16)

Status: No Issues Found | Recommendation: Merge

Executive Summary

Reviewed the two production edits (quick-tour eyebrow centring and active answer-field placeholder colour) plus four accompanying test files; the changes are correct, scoped, and consistently tested.

Files Reviewed (6 files)
  • apps/mobile/src/components/agents/model-picker-content.mounted.test.tsx
  • apps/mobile/src/components/agents/question-card.mounted.test.tsx
  • apps/mobile/src/components/agents/question-card.tsx
  • apps/mobile/src/components/consent/consent-card.mounted.test.tsx
  • apps/mobile/src/components/tour/tour-screen.mounted.test.tsx
  • apps/mobile/src/components/tour/tour-screen.tsx

Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0

Review guidance: REVIEW.md from base branch main

@iscekic
iscekic marked this pull request as ready for review September 22, 2026 11:42
@iscekic
iscekic marked this pull request as draft September 22, 2026 12:03
@iscekic
iscekic force-pushed the kwf/explorer-10-unlabeled-defects-on-ios-an-icon-is-announced-3e564-f491 branch from d1405b3 to 8616e7e Compare September 22, 2026 13:35
@iscekic
iscekic marked this pull request as ready for review September 22, 2026 13:55
@iscekic

iscekic commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator Author

This description names a scenario the proof did not capture:

  • not proved live: _scratch-current.png is no longer on the host that took it, so no publish can carry it

A repeated proof run rebuilds the same evidence, so no proof run is dispatched for a named gap. Merging with this gap open is your decision.

@iscekic iscekic added the human-ready The PR is ready for human review. label Sep 23, 2026
@iscekic iscekic self-assigned this Sep 23, 2026
@iscekic iscekic removed the human-ready The PR is ready for human review. label Sep 23, 2026
@iscekic
iscekic marked this pull request as draft September 23, 2026 07:21
@iscekic
iscekic marked this pull request as ready for review September 23, 2026 07:31
@iscekic iscekic added the human-ready The PR is ready for human review. label Sep 23, 2026
@iscekic
iscekic merged commit f5ad55a into main Sep 23, 2026
29 checks passed
@iscekic
iscekic deleted the kwf/explorer-10-unlabeled-defects-on-ios-an-icon-is-announced-3e564-f491 branch September 23, 2026 10:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

human-ready The PR is ready for human review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants